From: Sundeep Mediratta Date: Sun, 4 Aug 2024 17:24:17 +0000 (-0400) Subject: ibusManager: Simplify code and logic for setEngine() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~204^2^2~18 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=39a3da654d22f6be9ef4e48be101ae0e6d0a5523;p=gnome-shell.git ibusManager: Simplify code and logic for setEngine() Reword names, functions and refactor code to make code execution logic simpler to understand. Part-of: --- diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js index 8d4973564..0462b2d6a 100644 --- a/js/misc/ibusManager.js +++ b/js/misc/ibusManager.js @@ -294,16 +294,21 @@ class IBusManager extends Signals.EventEmitter { async setEngine(id) { if (this._oskCompletion) - this._preOskEngine = id; + await this._maybeUpdateCompletion(id); + else + await this._setEngine(id); + } - const isXkb = id.startsWith('xkb:'); - if (this._oskCompletion && isXkb) + async _maybeUpdateCompletion(id) { + if (!this._oskCompletion) return; - if (this._oskCompletion) + this._preOskEngine = id; + const isXkb = id.startsWith('xkb:'); + + /* Non xkb engines conflict with completion */ + if (!isXkb) await this.setCompletionEnabled(false); - else - await this._setEngine(id); } preloadEngines(ids) {